create or replace type plobj as object 
( 
  object_handle number,
  locked number,
  
  constructor function plobj return self as result,

  constructor function plobj (p_handle in number) return self as result,

  member procedure free,

  member procedure cp (p_from varchar2, p_to varchar2),

  member procedure mv (p_from varchar2, p_to varchar2),

  member procedure rm (p_field_name in varchar2),

  member procedure copy (p_from plobj),

  member procedure nextval (p_seq in varchar2, p_field_name in varchar2),

  member procedure append (p_field_name in varchar2, p_str in varchar2),

  member procedure nvls (p_field_name in varchar2, p_value in number),

  member procedure nvls (p_field_name in varchar2, p_value in varchar2),

  member procedure nvls (p_field_name in varchar2, p_value in date),

  member procedure nvls (p_field_name in varchar2, p_value in clob),

  member procedure nvls (p_field_name in varchar2, p_value in blob),

  member function nvlv (p_field_name in varchar2, p_value in number) return number,

  member function nvlv (p_field_name in varchar2, p_value in varchar2) return varchar2,

  member function nvlv (p_field_name in varchar2, p_value in date) return date,

  member function nvlv (p_field_name in varchar2, p_value in clob) return clob,

  member function nvlv (p_field_name in varchar2, p_value in blob) return blob,

  member procedure put (p_field_name in varchar2, p_field_value in varchar2),

  member procedure put (p_field_name in varchar2, p_field_value in number),

  member procedure put (p_field_name in varchar2, p_field_value in date),

  member procedure put (p_field_name in varchar2, p_field_value in blob),

  member procedure put (p_field_name in varchar2, p_field_value in clob),

  member procedure put (p_field_name in varchar2, p_field_value in plobj),

  member function v (p_field_name in varchar2) return varchar2,

  member function n (p_field_name in varchar2) return number,

  member function d (p_field_name in varchar2) return date,

  member function c (p_field_name in varchar2) return clob,

  member function b (p_field_name in varchar2) return blob,

  member function o (p_field_name in varchar2) return plobj,

  member function eval (p_str in varchar2) return varchar2,

  member procedure substr (p_field_name in varchar2, p_start in number, p_qty in number),

  member procedure upper (p_field_name in varchar2),

  member procedure lower (p_field_name in varchar2)

);
/
